import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")

model_name = 'gpt-3.5-turbo-0613'


if __name__ == '__main__':
    # 加载提示词文件并获取提示词
    with open('./sum.prompt', 'r', encoding='utf-8') as f:
        prompt = f.read()
    # 首先给出gpt任务提示词
    messages = [{'role': 'system', 'content': prompt}]
    # 模拟gpt的确认响应，后续可以直接以user角色给出gpt问题
    messages.append({'role': 'assistant', "content": 'yes'})
    
    # 以下的用户输入不满足提示词格式
    user_input = "2, 3"
    messages.append({'role': 'user', 'content': user_input})
    gpt_resp = openai.ChatCompletion.create(
        model=model_name,
        messages=messages,
        timeout=30
    )
    # gpt仍然将非法的输入格式理解为正确的，并能给出答案
    misjudgement_content= gpt_resp.choices[0].message['content']
    print(misjudgement_content)
    messages.append({'role': 'assistant', 'content': misjudgement_content})
    # 给出一个更加离谱的输入，一般这种情况gpt能够正确给出判断
    messages.append({'role': 'user', 'content': "错误的输入"})
    gpt_resp = openai.ChatCompletion.create(
        model=model_name,
        messages=messages,
        timeout=30
    )
    correct_judgment = gpt_resp.choices[0].message['content']
    # 能够正确给出校验结果
    print(correct_judgment)


